我对Rails很新,所以这可能是一个明显的问题,如果是这样,我道歉.
我正在尝试创建一个用于创建User记录的表单,该表单 belongs_to与Team模型有关联.到目前为止我所做的是以下......
<% form_for @user, url: {action: "create"} do |f| %>
<%= f.text_field :name %>
<%= f.text_field :email %>
<% f.fields_for :team do |team| %>
<%= team.collection_select(:team_id, Team.all, :id, :name) %>
<% end %>
<%= f.submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这似乎工作得很好,但在创建用户记录时,我遇到了麻烦.
def create
@team = Team.find(params[:user][:team][:team_id])
@team.users.create(user_params)
# Ignoring error checking for brevity
end
def user_params
params.require(:user).permit(:name, :email)
end
Run Code Online (Sandbox Code Playgroud)
params现在包含一个字段,team_id该字段不是User模型的属性,因此创建失败.我不确定如何解决这个问题,更不用说这是否是解决这个问题的合适方法.任何建议将不胜感激!
我想编写一个函数,该函数将反转字符串并返回对返回的字符串的引用。我以为我可以指定返回的引用与提供的引用具有相同的生存期。
fn reverse_string<'a>(input: &'a str) -> &'a str {
let res: &'a str = input.chars().rev().collect().as_slice();
res
}
Run Code Online (Sandbox Code Playgroud)
这是我的尝试,并且收到错误消息:
fn reverse_string<'a>(input: &'a str) -> &'a str {
let res: &'a str = input.chars().rev().collect().as_slice();
res
}
Run Code Online (Sandbox Code Playgroud)
我以为类型规范可以解决这个问题。生命对我来说有些混乱,所以我希望有人能够解释如何正确执行此操作,或者我是否一开始就完全不了解。