我需要編寫一個視圖,該視圖返回模型以及不屬於模型的其他字段。如何提交模型字段以外的字段
在控制器我應該訪問這些像:
def create
@post = Post.new(params[:post])
@stuff = params[:stuff]
怎麼能寫我的看法?
我需要編寫一個視圖,該視圖返回模型以及不屬於模型的其他字段。如何提交模型字段以外的字段
在控制器我應該訪問這些像:
def create
@post = Post.new(params[:post])
@stuff = params[:stuff]
怎麼能寫我的看法?
可以使用fields_for
幫手
form_for @post do |f|
f.text_field :title
fields_for :stuff do |stuff_form|
stuff_form.text_field :name
end
end
記住,它根本不fields_for
f.fields_for
。如果你使用的是f.fields_for
,它會給你的東西做一個填充字段post
object params
使用form helpers,即:
<%= form_for @post do |f| %>
<%= f.text_field :title %>
<%= f.text_area :body, size: "60x12" %>
<%= text_field_tag :stuff %>
<%= f.submit "Create" %>
<% end %>
對於大多數類型的輸入域,有兩個f.field_type
和field_type_tag
幫手。前者屬於模型的一部分,而後者只是params
中的其他字段。所以上面會給你params散列,像這樣:
{:post => {:title => 'the title', :body => 'the contents of the post'}, :stuff => 'contents of stuff field'}
你可以添加不屬於你的表單的字段標籤,它將添加到params散列表中。
在HAML ...
= text_field_tag :stuff, "what you want in stuff"
= hidden_field_tag :stuff, "or if you wanted a hidden field to show stuff"
將導致PARAMS散...
stuff=>"what you want in stuff"
完善,這個工作我需要的方式。 – Beetlejuice 2014-08-27 18:03:24