Tag: 呈现

Rails:如何呈现重复的表单块?

为了不重复自己,我想创建一个以特定方式呈现表单块(文本字段或文本区域)的函数。 我想要一个像这样的结果(使用Haml和twitter-bootstrap): .form-block.input-prepend %span.add-on> %i.icon.icon-home = f.text_field :name, :value => @store.name, :placeholder => ‘Company Name’ 为此,我创建了一个文件views/layouts/_form-block.html.haml ,其中插入了以下代码: .form-block.input-prepend %span.add-on> %i{ :class => “icon icon-#{icon}” } = yield 我在视图中使用以下方法调用块: – render :template => ‘layouts/_form-block’, :locals => { :icon => ‘home’ } do = f.text_field :name, :value => @store.name, :placeholder => ‘Company Name’ 但它不起作用。 我有以下错误’nil’ is not […]

Ruby on Rails – 渲染布局

我正在尝试将网站分成两部分。 一个应该使用应用程序布局,另一个应该使用管理布局。 在我的application.rb中,我创建了一个函数如下: def admin_layout if current_user.is_able_to(‘siteadmin’) render :layout => ‘admin’ else render :layout => ‘application’ end end 在控制器中,它可能是我放的一个或另一个 before_filter :admin_layout 这适用于某些页面(其中只是文本)但对于其他页面我得到了经典错误: You have a nil object when you didn’t expect it! You might have expected an instance of Array. The error occurred while evaluating nil.each 有没有人知道我错过了什么? 我该如何正确使用渲染和布局?

Rails:使用render:action传递参数?

我有一个表单,根据调用它的参数显示不同。 防爆。 testsite.local/users/new?type=client 因此,如果type是a或b ,则表单将显示不同的字段。 我的问题是表单填写不正确,因为如果用户无法正确保存,它会使用默认错误消息呈现表单,但也没有我的参数。 testsite.local/users/new 如何调用render操作并将此参数设置的内容传递给它? 这样我仍然可以保留我内置的错误消息,说明为什么表单无法正确汇总并使其成为正确的表单? 这是我的create动作: def create @user = User.new(params[:user]) roles = params[:user][:assigned_roles] if @user.save update_user_roles(@user,roles) if current_user.is_admin_or_root? flash[:message] = “User \”#{@user.username}\” created.” redirect_to users_path else flash[:message] = “Congrats! You’re now registered!” redirect_to app_path end else render :action => ‘new’ end end